package com.jic.manager.mapper;

import com.jic.manager.entity.CmsModule;
import com.jic.conf.response.rest.PageModuleResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * cms栏目
 * @author : 
 * @email : 
 * @since : 2020-03-04 11:59:53
 * @version : v1.0.0
 */
@Mapper
public interface  CmsModuleMapper {

    long insert(CmsModule cmsModule);

    long delete(Long id);

    long update(CmsModule cmsModule);

    CmsModule queryByPrimaryKey(Long id);

    List<CmsModule> query(CmsModule cmsModule);

    List<CmsModule> queryPage(@Param("startIndex") int startIndex, @Param("limit") int limit, @Param("cmsModule") CmsModule cmsModule);

    long queryPageCount(CmsModule cmsModule);

    List<PageModuleResponse> queryListByCmsPageId(@Param("pageId") Long pageId);

    List<Long> queryProductList(@Param("moduleId") Long moduleId, @Param("type") Integer type);
    /**
     * CMS_MODULE根据id删除数据
     * @param cmsModule 入参实体�
     */
    int deleteByPrimaryKey(CmsModule cmsModule);

    /**
     * CMS_MODULE插入数据
     * @param cmsModule 入参实体�
     */
    int insertSelective(CmsModule cmsModule);

    /**
     * CMS_MODULE根据主键查询数据
     * @param cmsModule 入参实体�
     */
    CmsModule selectByPrimaryKey(CmsModule cmsModule);

    /**
     * CMS_MODULE分页查询总记录数
     * @param cmsModule 入参实体�
     */
    long listPageCount(CmsModule cmsModule);

    /**
     * CMS_MODULE根据主键查询数据
     * @param cmsModule 入参实体�
     */
    List<CmsModule> listCmsModuleRecordPagination(int pageIndex, int pageSize, CmsModule cmsModule);

    /**
     * CMS_MODULE查询数据
     * @param cmsModule 入参实体�
     */
    List<CmsModule>  selectBySelective(CmsModule cmsModule);

    /**
     * CMS_MODULE根据表对象数据修改数�
     * @param cmsModule 入参实体�
     */
    int updateByPrimaryKey(CmsModule cmsModule);

    /**
     * CMS_MODULE根据表对象数据修改数�
     * @param cmsModule 入参实体�
     */
    int updateByPrimaryKeySelective(CmsModule cmsModule);
}